package com.dmn.gcode.springchains.core;

/**
 * Interface for chain executor/controller.
 * <p/>
 * date 18.01.11
 *
 * @author dvponomarev
 * @version 1.0
 */
public interface IChainMaster {
    /**
     *
     * @param operator operator to execute.
     * @throws com.dmn.gcode.springchains.ChainInterruptedException chain execution was interrupted
     * by user request.
     * @throws Throwable error in chain execution or one of operators failed.
     */
    void execute(IOperator operator) throws Throwable;
}
